Computer implemented planning and scheduling systems are widely used for transportation, manufacturing, resource allocation, and supply planning functions. In general, such systems can schedule resources for implementing tasks based on a set of constraints associated with each task, and an available schedule time period that the resources will be available. For example, each task may need a set of specific resources that its needs to use within a specific task time range. A scheduling system will determine which tasks are scheduled, and the scheduling time interval within the scheduled time period for the scheduled tasks. Since there are limited resources available for a limited time period, many tasks remain unscheduled. However, time intervals that are less than the time duration of unscheduled tasks remain available. Therefore, full utilization of the available resources for the available schedule time period is not achieved.
In an auction based scheduling algorithm, each task is assigned value points. A user associated with the task can bid on resources and/or time intervals associated with an available schedule time period. The user that bids the most value points on a given resource and/or time interval is assigned the given resource and/or time interval. The users that are outbid will have to bid on other resources and/or time intervals for the associated tasks. However, if the remaining resources and/or time intervals are outside the set of constraints associated with a given task, the task will remain unscheduled, while time intervals within the available schedule time period still remain.